#include <iostream>
#include <string>
#include <cstdio>
using namespace std;
const int maxn = 1000100;
struct Trie {
    int cnt;
    int son[26];
}a[maxn];
int cnt;
void inrt(string s) {
    int now = 0;
    for (int i = 0; i < s.length(); i++) {
        if (!a[now].son[s[i] - 'a']) {
            a[now].son[s[i] - 'a'] = ++cnt;
        }
        now = a[now].son[s[i] - 'a'];
        a[now].cnt++;
    }
}
int query(string s) {
    int now = 0;
    for (int i = 0; i < s.length(); i++) {
        if (!a[now].son[s[i] - 'a']) return 0;
        now = a[now].son[s[i] - 'a'];
    }
    return a[now].cnt;
}
int main() {
    ios::sync_with_stdio(false);
    cin.tie(0);
    string tmp;
    while (getline(cin, tmp)) {
        if (tmp == "") break;
        inrt(tmp);
    }
    // for (int i = 1; i <= wc; i++) {
        // cout << word[i] << " ";
    // }
    // cout << endl;
    while (getline(cin, tmp)) {
        cout << query(tmp) << endl;
    }
    return 0;
}
